<?php
/**
 * adminusersLogin.php
 * 
 * ログイン画面
 * 
 * author	; m.majima
 * date		; 2009/8/28
 * 
*/
	// 前準備
	include("../Myznala/myHeader.inc.php");
	
	require_once("../Myznala/MyConverter.class.php");
	require_once('../Myznala/MyDBConnection.class.php');
	require_once('AdminusersDao.class.php');
	
	/*
	 * 変数定義
	 */
	// 遷移先のテンプレート名
	$myTemplate="../admin/templates/adminusersLogin.tpl";

	// パラメータをサニタイズして配列に入れる。
	$cObj = new MyConverter();
	$reqParm = $cObj->getRequestParameters();

	if($reqParm == null ){
		//　初期画面処理
		$myTplData=array(
			// 表示ボタンのセット
			'button_array'	=>initButton(),
			'myLoginUser'	=>$myLoginUser,
			'myAppName'		=>'admin',
			'myPageTitle'	=>'ログイン'
		);
		// 後処理
		include("../Myznala/myFooter.inc.php");
		return;
	}else{
	/*
	 * Login入力エラーチェック；
	 * エラーがあれば、入力画面にもどす。	
	*/
	$cnObj = new MyDBConnection();
	$conn = $cnObj->getConnection(); // connection取得
	
	/* 
	 * 入力チェック関数（内部関数）でエラーを取り出す 
	*/
	$adminuserObj=new AdminusersDao();
	$myErrArray = validate($conn, &$reqParm, &$adminuserObj);
	
	// エラーありの場合
	if(count($myErrArray) > 0){
		$myTplData=array(
			// 表示ボタンのセット
			'button_array'	=>initButton(),
			// エラーメッセージのセット
			'myErrArray'	=>$myErrArray,
			'myLoginUser'	=>$myLoginUser,
			'myAppName'		=>'admin',
			'myPageTitle'	=>'ログイン'
		);
	}else{
	// エラーなしの場合
		$myTemplate="../admin/templates/adminMypage.tpl";
		$myTplData=array(
			// 表示ボタンのセット
			'myLoginUser'=>$myLoginUser,
			'myAppName'=>'admin',
			'myPageTitle'=>'マイページ',
			'button_array'=>setButton()
		);
	}
	
	// connectionのリリース
	$cnObj->closeConnection($conn);
		
	// 後処理
	include("../Myznala/myFooter.inc.php");
	return;
	
	}

	/*
	 * 入力チェックを行うための内部関数
	*/
	function validate($conn, $rParm, $adminuserObj){
		require_once('../Myznala/ErrorBean.class.php');
		// 入力必須チェック
		$eArr=array();
		$i=0;

		/* ログインチェック */
		// 入力必須チェック
		if($rParm['adminid'] == null || $rParm['adminid'] == ''){
			$eObj=new ErrorBean();
			$eObj->setField("ユーザーID");
			$eObj->setMessage("入力してください");
			$eArr[$i]=$eObj;
			$i++;
			
		}else{
			//　ユーザー存在チェック
			$adminuserObj->setAdminid($rParm['adminid']);

			$ret = $adminuserObj->findAdminid($conn);
			if(!($ret)){
				$eObj=new ErrorBean();
				$eObj->setField("adminid");
				$eObj->setMessage("ユーザーＩＤが間違っています");
				$eArr[$i]=$eObj;
				$i++;
			}
		}

		
		/* パスワード */
		// 入力必須チェック
		if($rParm['password'] == null || $rParm['password'] == ''){
			$eObj=new ErrorBean();
			$eObj->setField("パスワード");
			$eObj->setMessage("入力してください");
			$eArr[$i]=$eObj;
			$i++;
		}else{
			//　ユーザー存在チェック
			$adminuserObj->setAdminid($rParm['adminid']);
			$adminuserObj->setPassword($rParm['password']);

			$ret = $adminuserObj->findLogin($conn);
			if(!($ret)){
				$eObj=new ErrorBean();
				$eObj->setField("password");
				$eObj->setMessage("パスワードが間違っています。");
				$eArr[$i]=$eObj;
				$i++;
			}
		}
		
		return $eArr;
	}
	
	/* 
	 * ログイン画面用ボタン初期化処理のための内部関数
	*/
	function initButton(){
		require_once('../Myznala/ButtonBean.class.php');
		
		$_bArr=array();

		// ログイン
		$_bObj=new ButtonBean();
		$_bObj->setId("admin-my-login-button");
		$_bObj->setName("entry");
		$_bObj->setSrc("../admin/images/login_2.png");
		$_bObj->setAlt("ログイン");
		$_bArr[0]=$_bObj;

		// 戻る
		$_bObj=new ButtonBean();
		$_bObj->setId("admin-my-back-button");
		$_bObj->setName("back");
		$_bObj->setSrc("../admin/images/cancel.png");
		$_bObj->setAlt("戻る");
		$_bArr[1]=$_bObj;

		return $_bArr;
	}

	/* 
	 * マイページ用ボタン初期化処理のための内部関数
	*/
	function setButton(){
		require_once('../Myznala/ButtonBean.class.php');
		
		$_bArr=array();

		// 団体の作成
		$_bObj=new ButtonBean();
		$_bObj->setId("egp-my-societyentry-button");
		$_bObj->setName("societyentry");
		$_bObj->setSrc("../admin/images/societyentry.png");
		$_bObj->setAlt("団体の作成");
		$_bArr[0]=$_bObj;

		return $_bArr;
	}
?>